\section{Spezifikation}
Die Software sollte Sensorwerte zur Ermittlung von Raddrehzahlen einlesen und mit Hilfe von diesen Daten die Momentangeschwindigkeit (Tachometeranzeige) und den zurückgelegten Weg (Kilometerzähler) berechnen.\\


Von einem PKW werden die benötigten Sensorwerte ermittelt. Dazu hat der PKW eine Tachometer- und eine Kilometeranzeige sowie einen Raddrehsensor, der bei jedem Abruf die momentane Raddrehzahl eines Rades zurückliefert. Dabei sollten auch die Tachometer- und die Kilometeranzeige aktualisiert werden (Umsetzung mit dem Observer Pattern).\\


In der Simulation wird der Raddrehsensor durch eine Datei nachgebildet, wobei jede Zeile einem Wert der momentanen Raddrehzahl entspricht. Der Sensor wird in einer eigenen Klasse gekapselt, in der eine Methode GetRevolutions() existiert, welche Drehzahlwerte einliest und zurückgibt.\\


Die Klasse PKW verfügt über eine Methode Process(), die vom Testtreiber im 500ms Takt aufgerufen wird. Sie liest einen neuen Drehzalwert mit GetRevolutions() ein, dieser Wert wird lokal in einem Member abgelegt. Die Momentangeschwindigkeit wird mit einer Methode GetCurrentSpeed() ermittelt:\\


Berechnung der Geschwindigkeit:\\
Raddurchmesser = 600mm (fix definiert)\\
Bsp. 500U/min (ausgelesen aus der Raddrehsensor Datei)\\
Geschwindigkeit = (500/60) x 0,6 x PI x 3,6 = 56,549 km/h\\


Tachometer- und Kilometeranzeige holen sich im Zuge einer Benachrichtigung den aktuellen Geschwindigkeitswert.\\


Berechnung der Distanz:\\
Distanz = (56,549 / 3,6) * 0,5 = 7,854 m\\


Simuliert wurde die Anzeige mit den beiden Anzeigen AnalogDisplay (Tachometer) und DigitalDisplay (Kilometeranzeige).